草庐IT

Docker Traefik 和 Letsencrypt 通配符

全部标签

java - Java 中的通配符 Generic 和 <? super T> 意思,下界或上界

所以我在阅读泛型方法时感到很困惑。先说一下这里的问题:在这个例子中:假设我需要一个适用于任何类型T的selectionSort版本,方法是使用调用者提供的外部可比较对象。第一次尝试:publicstaticvoidselectionSort(T[]arr,ComparatormyComparator){....}假设我有:定义车辆类别创建了实现Comparator的VehicleComparator,同时按价格比较车辆。创建卡车扩展车辆实例化卡车[]arr;车辆比较器myComparator现在,我做:selectionSort(arr,myComparator);它不会工作,因为my

docker https 证书/多域名通配符自动续期(群晖https证书)

本文基于freessl.cn申请通配符域名自动续期。使用docker的原因是为了方便可靠,不会因为不同的操作系统缺包无法安装acme.sh,也不会在操作系统中留下灿烂内容,acme版的docker包含了运行环境。主要步骤如下:1、打开https://freessl.cn/官网,注册并登录2、进入ACME自动化导航菜单,添加证书3、配置域名解析4、域名解析配置检测通过后,获得签发证书的命令5、运行带有acme.sh运行环境的docker容器dockerrun-itd\-v"/opt/acme.sh":/acme.sh\--net=host\--restart=always\--name=acme

支持通配符的 Java robots.txt 解析器

我正在寻找Java中的robots.txt解析器,它支持相同的patternmatchingrules作为Googlebot。我找到了一些库来解析robots.txt文件,但它们都不支持Googlebot样式的模式匹配:Heritrix(关于这个主题有一个openissue)Crawler4j(看起来像与Heritrix相同的实现)jrobotx有人知道可以执行此操作的java库吗? 最佳答案 Nutch似乎使用了crawler-commons的组合与somecustomcode(参见RobotsRulesParser.java)。

java - Log4j(通过 Spring Boot Logging)logging.level 属性中是否允许使用通配符?

当我安装一个使用Log4j的Java应用程序(通过SpringBootLogging)时,我被告知可以通过在application.properties中包含以下行来为应用程序中使用的所有包配置日志记录级别文件:日志记录级别。*=错误ERROR可以是我想使用的任何日志记录级别。但是,当我将级别从一个值更改为另一个值时,无论我使用什么值,我都发现日志中会出现低至DEBUG的日志消息。最终,我发现使用特定的包名称我可以控制要记录的最低级别。也就是说,logging.level.org.orgname.appname=ERROR会做我想做的事。日志级别属性是否支持像“*”这样的通配符?

java - 如何使用带有通配符声明的泛型类?

我类有以下成员:Listlist;当我尝试做的时候:list.add(list.get(0));我得到:Test.java:7:error:nosuitablemethodfoundforadd(CAP#1)list.add(list.get(0));^methodCollection.add(CAP#2)isnotapplicable(argumentmismatch;ObjectcannotbeconvertedtoCAP#2)methodList.add(CAP#2)isnotapplicable(argumentmismatch;Objectcannotbeconvertedt

多级泛型中的 Java 通配符

为什么Bar.go使用参数f2而不是参数f1OK?publicclassHelloWorld{publicstaticvoidmain(String[]args){Foo>f1=newFoo>();Foo>f2=newFoo>();Bar.go(f1);//notOKBar.go(f2);//OK}publicstaticvoidp(Objecto){System.out.println(o);}}classFoo{}classBar{publicstaticvoidgo(Foo>f){}}在这两种情况下,编译器不应该自动将类型T推断为captureof?吗?

java - 泛型通配符实例化

前几天我在审查别人的代码时,遇到了引起一些关注的一行。为简化起见,假设我有一个通用类A和一个抽象类B。是否允许以下​​实例化?如果允许,为什么?Objectobj=newA();我个人从来没有见过像上面这样的实例化,尽管像这样的声明Aobj=null;肯定会持有。我一直在泛型中使用通配符来声明方法参数,所以我可能没有经验。 最佳答案 实际上newA()不编译。自Java5以来,它一直是非法的。但我猜你的原始示例类似于newA>().后者在最新版本的Java中是合法的。这个想法是,当实例化一个对象时,类型参数的值可以是任何非通配符类型

java - 在 Maven exec 插件参数中使用通配符

我正在做的项目需要使用GoogleProtobuf进行序列化,因此在构建我的代码之前必须生成一些stub。我使用的命令行参数是:protoc-I=src/proto--java_out=src/main/javasrc/proto/*.proto这在控制台中运行良好。我现在想使用Mavenexec插件,以便这个手动过程成为Maven构建的一部分。我使用的pom部分是:exec-maven-pluginorg.codehaus.mojo1.3.2GoogleProtobufStubGenerationgenerate-sourcesexecprotoc-I=src/proto--java

java - 为什么这个方法调用失败? (泛型和通配符)

我收到以下错误:'call(ContainsMonitor)'cannotinvoke'call(?extendswebscout.Monitor)'in'WebScoutCallable'监视器.javaWebScoutCallablehandler;publicsetCallable(WebScoutCallablecallable){this.handler=callable;}WebScoutCallable.javapublicinterfaceWebScoutCallable{publicvoidcall(Tcaller);}ContainsMonitor.javapubl

java - Java抽象方法中使用通配符和声明泛型的区别

我试图理解Java中的泛型类型,理论上它看起来可以理解,但是当我需要将它应用到实际代码时我遇到了问题。我想声明将返回泛型类型的抽象方法。假设我有一些名为Magicable的空接口(interface),并且有2个类实现它:Magican和Witch。现在我想知道这3个声明之间有什么区别:/*1*/protectedabstractListgetMagicables();/*2*/protectedabstractListgetMagicables();/*3*/protectedabstractListgetMagicables();在第一种情况下,当我想在扩展抽象类的某个类中实现此方